package com.mesystem.service.impl;

import java.util.ArrayList;
import java.util.List;

import com.mesystem.dao.OpcionDAO;
import com.mesystem.dto.OpcionDTO;
import com.mesystem.service.OpcionService;
import com.mesystem.vo.OpcionesRolVO;

public class OpcionServiceImpl implements OpcionService {
	
	private OpcionDAO opcionDAO;

	public void setOpcionDAO(OpcionDAO opcionDAO) {
		this.opcionDAO = opcionDAO;
	}

	public List<OpcionesRolVO> listaOpcionesRol(int idRol) throws Exception {
		List<OpcionDTO> listaOpcionesPadre = opcionDAO.listaOpcionesPadre(idRol);
		List<OpcionDTO> listaOpcionesHijas = opcionDAO.listaOpcionesHijas(idRol);
		List<OpcionesRolVO> listaOpcionesRol = new ArrayList<OpcionesRolVO>();
		OpcionesRolVO opcionRol = null;
		for(OpcionDTO padre: listaOpcionesPadre){
			opcionRol = new OpcionesRolVO();
			opcionRol.setId(padre.getId());
			opcionRol.setDescripcion(padre.getDescripcion());
			opcionRol.setUrl(padre.getUrl());
			for(OpcionDTO hija: listaOpcionesHijas){
				if(padre.getId() == hija.getIdPadre()){
					opcionRol.add(hija);
				}
			}
			listaOpcionesRol.add(opcionRol);
		}
		return listaOpcionesRol;
	} 
}
